unit weapon;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, sprite, item;
type
  { TWeapon }

  TWeapon = class (TItem)
  private
  protected
    procedure Use();override;
  public

    damage, amunition :Integer;
    precision, range, speed, rechargeTime, splashRadius : Single;
    sprite, bullet : TSprite;
    constructor Create; virtual; abstract;
    procedure Fire(_Angle: Single); virtual; abstract;
  end;

  type

  { TGun }

  TGun = class (TWeapon)
  private
  public
    procedure Fire(_Angle: Single); override;
  end;


implementation

{ TGun }

procedure TGun.Fire(_Angle: Single);
begin

end;

procedure TWeapon.Use;
begin
  Fire(200);
end;

end.

